package veterinaria.negocio;

import java.util.Collection;

import veterinaria.dao.DuenoDAO;
import veterinaria.dao.MedicamentoDAO;
import veterinaria.modelo.Medicamento;
import veterinaria.excepcion.DAOExcepcion;


public class GestionMedicamentos {

	public Collection<Medicamento> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();
		return dao.listar();
	}

	
	public Medicamento insertar(String nombre, double  precio, int cantidad, String descripcion, String imagen)
			throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();

		Medicamento vo = new Medicamento();
		
		//verificar si medicamento existe
				vo = this.obtenerPorNombre(nombre);

				if (vo.getCodigo() != 0){
					throw new DAOExcepcion("El medicamento " + nombre + " ya existe.");
				}

				
		
		
		
		vo.setNombre(nombre);
		vo.setPrecio(precio);
		vo.setCantidad(cantidad);
		vo.setDescripcion(descripcion);
		vo.setImagen(imagen);

		return dao.insertar(vo);
	}

	
	private Medicamento obtenerPorNombre(String nombre) throws DAOExcepcion {
		
		
		MedicamentoDAO dao = new MedicamentoDAO();
		return dao.obtener2("NOMBRE",nombre);
		
		
	}


	public Medicamento obtener(int a) throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();
		return dao.obtener(a);
	}
	
	public void eliminar(int a) throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();
		dao.eliminar(a);
	}

	public Medicamento actualizar(int codigo, String nombre, double  precio, int cantidad, String descripcion) throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();

		Medicamento vo = new Medicamento();
		vo.setCodigo(codigo);
		vo.setNombre(nombre);
		vo.setPrecio(precio);
		vo.setCantidad(cantidad);
		vo.setDescripcion(descripcion);
		

		return dao.actualizar(vo);
	}

	public Collection<Medicamento> listar() throws DAOExcepcion {
		MedicamentoDAO dao = new MedicamentoDAO();
		return dao.listar();
	}

}
